This application is based on Japanese Patent Application No. 2000-166596 filed on Jun. 2, 2000, the contents of which are hereby incorporated by reference.
1. Field of the Invention
The invention relates to a method for controlling bus reset and its devices to be used in an interface that has a so-called hot swapping function and performs reset and reconstruction of a bus when a node is plugged or unplugged.
2. Description of Related Art
Since serial interfaces such as the IEEE 1394 (IEEE 1394-1995 High Performance Serial Bus) and USB (Universal Serial Bus) generally have high communication speeds and high expandability, they have come to be used widely as high speed interfaces for connecting personal computers and their peripheral equipment.
Such a high speed serial interface allows us to connect many pieces of equipment to constitute a system assuming a tree structure, and automatically detecting and setting up nodes (each piece of equipment on a bus is called a node) that are connected in response to a plug-and-play feature. Furthermore, the system can be easily expand in such a high speed serial interface, since it allows the nodes to be plugged or unplugged while the power is turned on because of a hot swapping function (sometimes called hot plugging) and has no need to be reset after plugging or unplugging of a node.
In such a high speed serial interface, a mechanism is used where bus reset is caused when a node is plugged or unplugged to initialize the interface function of each node and automatically reassigning the address to each node at the same time by reidentifying the bus configuration and reassigning the address of each node in order to realize such a hot swapping function.
When a node plugging or unplugging is performed while another node is transferring data in an interface in which bus reset and reconfiguration are performed in accordance with a plugging or unplugging of a node, bus reset occurs for the entire bus, so that the data transfer will be interrupted thus requiring the data transfer to be restarted all over again. An interruption of such a data transfer will not only be a major hazard for a specific data transfer such as a transfer of printing data or a real time transfer of dynamic images or voice data, but also a fatal problem, for example, a data damage or loss, or a resulting hang up of an Operating System or application.
As a means of avoiding an interruption of a data transfer due to bus reset in such an interface, several methods have been proposed including an interface device that prevents node plugging or unplugging altogether by locking a connector during a data transfer (JP-10-55232-A), and a method of making each node to remember its address information so that even if a node plugging or unplugging occurs and consequently a bus reset occurs, it is still possible to continue to transmit the same data after the bus reset and reconfiguration (JP-10-191283-A). As a means of delaying bus reset until a data transfer has been completed, a method has been proposed (JP-11-205353-A) wherein, when a bus reset signal is received, the bus reset is delayed by means of a flag for delaying the bus configuration recognition procedure until its own data transfer is completed, and a packet data for restarting the bus reset procedure is transmitted to all nodes when data transfers of all the node are completed to identify the bus configuration and reassign the node addresses. However, in this methods, the bus reset will be delayed irrespective of the type of node and data currently being transferred or received, and it is self-defeating the basic purpose of the hot swapping to delay bus reset unconditionally because a data transfer may not cause any substantial problem depending on the type of node or data being transferred.
The invention is made in consideration of those problems of the prior art described above, and its intention is to provide an interface device, a node, an interface system, a method for controlling bus reset, and computer program product for controlling bus reset, which are capable of delaying only the specific data transfer being preferable not to be interrupted thus effectively protecting the hot swapping function.
The objective stated above can be accomplished with the following means.
The invention is an interface device for use in an interface that performs reset and reconfiguration of a bus when a node is plugged or unplugged comprising:
a node plugging/unplugging detector for detecting plugging and unplugging of a node;
a data transfer detector for detecting whether a data transfer related to a specific node is occurring on said bus when node plugging or unplugging is detected by said node plugging/unplugging detector; and
a bus reset issue controller for delaying issue of bus reset when a data transfer related to said specific node is detected by said data transfer detector until said data transfer is completed.
Furthermore, the invention is a node of an interface that performs reset and reconfiguration of a bus when a node is plugged or unplugged, which is equipped with an interface device comprising:
a node plugging/unplugging detector for detecting plugging and unplugging of a node;
a data transfer detector for detecting whether a data transfer related to a specific node is occurring on said bus when node plugging or unplugging is detected by said node plugging/unplugging detector; and
a bus reset issue controller for delaying issue of bus reset when a data transfer related to said specific node is detected by said data transfer detector until said data transfer is completed.
Furthermore, the invention is an interface system that performs reset and reconfiguration of a bus when a node is plugged or unplugged and is composed of interconnected nodes each of which is equipped with an interface device comprising:
a node plugging/unplugging detector for detecting plugging and unplugging of a node;
a data transfer detector for detecting whether a data transfer related to a specific node is occurring on said bus when node plugging or unplugging is detected by said node plugging/unplugging detector; and
a bus reset issue controller for delaying issue of bus reset when a data transfer related to said specific node is detected by said data transfer detector until said data transfer is completed.
Furthermore, the invention is a method for controlling bus reset in an interface that performs reset and reconfiguration of a bus when a node is plugged or unplugged comprising the step of:
detecting plugging and unplugging of a node;
detecting whether a data transfer related to a specific node is occurring on said bus when node plugging or unplugging is detected; and
delaying issue of bus reset when a data transfer related to said specific node is detected until said data transfer is completed.
Furthermore, the invention is a computer program product for controlling bus reset in an interface that performs reset and reconfiguration of a bus when a node is plugged or unplugged, said program causing a computer to execute the procedure of:
detecting plugging and unplugging of a node;
detecting whether a data transfer related to a specific node is occurring on said bus when node plugging and unplugging is detected; and
delaying issue of bus reset when a data transfer related to said specific node is detected until said data transfer is completed.